package biblio;
//VERNAY OLIVIER -> PROJET OMGL GESTION DOC
import java.io.Serializable;
import java.util.Collection;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Observable;

/**
 * Classe de gestion d'Periodique.
 * @author IUT, refactor� par E. Ceret
 * @version 2.0
 */
public class Parution extends Observable implements Serializable {

	// ************************************************************************************************************
	// Constantes
	// ************************************************************************************************************

	private static final long serialVersionUID = 1L;
	
	// ************************************************************************************************************
	// Attributs
	// ************************************************************************************************************

	private String _nomParution;
	private String _identParution;
	private GregorianCalendar _dateReception;


	// Attributs d'Association
//////
	private HashMap<Integer, Article> _articles;
	
	
	public Parution(String nomP, String idP , GregorianCalendar dateR) {
		
		this.setNomParution(nomP);
		this.setIdentParution(idP);
		this.setDateReception(dateR);
/////
		this.setArticle(new HashMap<Integer, Article>());
/////
	} // Fin Constructeur
	
	
	
	// Affecteurs
	

	private void setNomParution(String nomP){
		_nomParution = nomP;
	}
	
	private void setIdentParution(String idP){
		_identParution = idP;
	}
	private void setDateReception(GregorianCalendar dateR){
		_dateReception = dateR;
	}	
	public void setArticle(HashMap<Integer, Article> articles) {
		_articles = articles;
	}
	
	private void lierArticle(int numero, Article article) {
		_articles.put(numero, article);
	}
	
	// ************************************************************************************************************
	// M�thodes publiques
	// ************************************************************************************************************

	// ------------------------------------------------------------------------------------------------------------
	// Accesseurs
	
	public String getNomParution() {
		return _nomParution;
	}
	
	public String getIdentifiantParution() {
		return _identParution;
	}
	public GregorianCalendar getDateReception() {
		return _dateReception;
	}
	
	public Article getArticle(int numero) {
		return (Article) _articles.get(numero);
	} // Fin unExemplaire
	
	public Collection<Article> getArticles() {
		return _articles.values();
	}
	
	


	
	
}